const router = require('express').Router();// 分发请求
const vehicleModel = require('../../model/vehicleModel');// 执行sql语句的模块
const Jwt = require('../../common/token/jwt');//处理token的工具 json web token

// 添加车辆
// URL: /api/vehicle/register
// 参数：user_id,vehicle_num, vehicle_color, vehicle_owner, vehicle_phone, vehicle_type
// 添加车辆(用户id, 车牌号码，车颜色，车主，联系电话，车型)
router.post('/add', async (req, res) => {
    let token = req.body.token || req.headers.token;
    let result = new Jwt(token).verifyToken()
    if (result.code == 200) {
        // 登录状态
        // console.log('y.2',user_id)
        let user_id = result.info.data;//用户id
        // 获取前端提交的参数
        let { vehicle_num, vehicle_color, vehicle_owner, vehicle_phone, vehicle_type } = req.body;
        // 为了减少报错 做一层判断
        if (vehicle_num == undefined || vehicle_color == '' || vehicle_owner == undefined || vehicle_phone == '') {
            res.send({
                code: -1,
                msg: '缺少参数，请重新填写。'
            })
        }
        // 调用函数进行注册
        await vehicleModel.add(user_id,vehicle_num, vehicle_color, vehicle_owner, vehicle_phone, vehicle_type)
            .then(
                (data) => {
                    // 添加成功
                    res.send(data)
                },
                (err) => {
                    // 添加失败
                    res.send(err)
                }
            )
    }
    else {
        // 不是登录状态
        res.send({
            code: -1,
            msg: '您还没有登录哦。'
        })
    }
})

// 获取车辆信息
// URL: /api/vehicle/info
// 参数：token
router.post('/info', async (req, res) => {
    let token = req.body.token || req.headers.token;
    let result = new Jwt(token).verifyToken()
    if (result.code == 200) {
        // 登录状态
        // console.log('y.2',user_id)
        let user_id = result.info.data;//用户id
        // 获取车辆信息
        await vehicleModel.info(user_id).then(
            (content) => {
                // 响应数据给前端
                res.send(content)
            },
            (err) => {
                res.send(err)
            }
        )
    }
    else {
        // 不是登录状态
        res.send({
            code: -1,
            msg: '您还没有登录哦。'
        })
    }
})

// 删除车辆
// URL: /api/vehicle/remove
// 参数：token, vehicle_num
router.post('/remove', async (req, res) => {
    let token = req.body.token || req.headers.token;
    let vehicle_num = req.body.vehicle_num;
    let result = new Jwt(token).verifyToken()
    if (result.code == 200) {
        // 登录状态
        // 删除车辆信息
        await vehicleModel.remove(vehicle_num).then(
            (content) => {
                // 响应数据给前端
                res.send(content)
            },
            (err) => {
                res.send(err)
            }
        )
    }
    else {
        // 不是登录状态
        res.send({
            code: -1,
            msg: '您还没有登录哦。'
        })
    }
})


// 统计所有车辆
// URL: /api/vehicle/total
// 参数：token
router.get('/total', async (req, res) => {
    let token = req.body.token || req.headers.token;
    let result = new Jwt(token).verifyToken()
    if (result.code == 200) {
        // 登录状态
        // console.log('y.2',user_id)
        let user_id = result.info.data;//用户id
        // 获取车辆信息
        await vehicleModel.total(user_id).then(
            (content) => {
                // 响应数据给前端
                res.send(content)
            },
            (err) => {
                res.send(err)
            }
        )
    }
    else {
        // 不是登录状态
        res.send({
            code: -1,
            msg: '您还没有登录哦。'
        })
    }
})


// 所有车辆信息
// URL: /api/vehicle/list
// 参数：token, page, pageSize
router.get('/list', async (req, res) => {
    let { token, page, pageSize } = req.query;
    let result = new Jwt(token).verifyToken()
    if (result.code == 200) {
        //获取车辆停车记录
        if (page && pageSize) {
            await vehicleModel.list(page, pageSize).then(
                (content) => {
                    res.send(content)
                },
                (error) => {
                    res.send(error)
                }
            )
        }
        else {
            res.send({
                code: -1,
                msg: '缺少参数。'
            })
        }
    }
    else {
        // 不是登录状态
        res.send({
            code: -1,
            msg: '您还没有登录哦。'
        })
    }
})
module.exports = router;